package com.lance.answer.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 注释参考 package com.lance.answer.question_export;  QuestionDetail
 */
@NoArgsConstructor
@Data
public class QuestionDetailNewBk {


    @JsonProperty("code")
    private String code;
    @JsonProperty("content")
    private ContentDTO content;
    @JsonProperty("ts")
    private Long ts;

    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        @JsonProperty("Sections")
        private List<SectionsDTO> sections;
        @JsonProperty("model")
        private ModelDTO model;
        @JsonProperty("Items")
        private List<ItemsDTO> items;

        @NoArgsConstructor
        @Data
        public static class ModelDTO {
            @JsonProperty("P1")
            private String p1;
            @JsonProperty("P2")
            private String p2;
            @JsonProperty("P3")
            private String p3;
            @JsonProperty("P4")
            private String p4;
            @JsonProperty("P5")
            private Integer p5;
            @JsonProperty("P6")
            private String p6;
        }

        @NoArgsConstructor
        @Data
        public static class SectionsDTO {
            @JsonProperty("Type")
            private Integer type;
            @JsonProperty("Score")
            private Integer score;
            @JsonProperty("Identifier")
            private String identifier;
            @JsonProperty("Shuffle")
            private Boolean shuffle;
            @JsonProperty("Title")
            private String title;
            @JsonProperty("ItemID")
            private List<String> itemID;
        }

        @NoArgsConstructor
        @Data
        public static class ItemsDTO {
            @JsonProperty("I20")
            private String i20;
            @JsonProperty("I1")
            private String i1;
            @JsonProperty("I22")
            private String i22;
            @JsonProperty("I2")
            private String i2;
            @JsonProperty("I21")
            private String i21;
            @JsonProperty("I3")
            private Integer i3;
            @JsonProperty("I24")
            private String i24;
            @JsonProperty("I4")
            private String i4;
            @JsonProperty("I23")
            private String i23;
            @JsonProperty("I5")
            private String i5;
            @JsonProperty("I26")
            private Integer i26;
            @JsonProperty("I6")
            private List<String> i6;
            @JsonProperty("I25")
            private Integer i25;
            @JsonProperty("I7")
            private List<String> i7;
            @JsonProperty("I28")
            private Integer i28;
            @JsonProperty("I8")
            private List<String> i8;
            @JsonProperty("I27")
            private Integer i27;
            @JsonProperty("I9")
          //  private Integer i9;
            private Double i9;
            @JsonProperty("I29")
            private String i29;
            @JsonProperty("Choices")
            private List<ChoicesDTO> choices;
            @JsonProperty("I31")
            private Integer i31;
            @JsonProperty("I30")
            private String i30;
            @JsonProperty("I11")
            private Integer i11;
            @JsonProperty("I10")
            private String i10;
            @JsonProperty("I32")
            private Integer i32;
            @JsonProperty("I13")
            private Double i13;
            @JsonProperty("I35")
            private Integer i35;
            @JsonProperty("I12")
            private String i12;
            @JsonProperty("I34")
            private Integer i34;
            @JsonProperty("I15")
            private List<?> i15;
            @JsonProperty("I14")
            private String i14;
            @JsonProperty("I36")
            private Integer i36;
            @JsonProperty("I17")
            private Integer i17;
            @JsonProperty("I16")
            private Integer i16;
            @JsonProperty("I19")
            private Integer i19;
            @JsonProperty("I18")
            private String i18;

            @NoArgsConstructor
            @Data
            public static class ChoicesDTO {
                @JsonProperty("IsCorrect")
                private Boolean isCorrect;
                @JsonProperty("I1")
                private String i1;
                @JsonProperty("I2")
                private String i2;
            }
        }
    }
}

